﻿using System;

namespace Mech_Force
{
    public class Weapon
    {
         private string weapon_name;

         private float weapon_heat;
         private int weapon_min_range;
         private int weapon_short_range;
         private int weapon_med_range;
         private int weapon_long_range;
         private int weapon_damage;
         private int weapon_type;
         private int weapon_cost;
         private int weapon_ammo_type;
         private int weapon_ammo_max;
         private float weapon_weight;

         private bool IsDestroyed = false;

         public enum eWeaponType : int
         {
             Ballistic = 1,
             Energy,
             Missile
         }

         public enum eAmmoType : int
         {
             Bullet = 1,
             Missile
         }

        public Weapon()
        {

        }

        public string Weapon_Name
        {
            get{return weapon_name;}
            set{weapon_name = value;}
        }

        public float Weapon_Heat
        {
            get { return weapon_heat; }
            set { weapon_heat = value; }
        }

        public int Weapon_Minimum_Range
        {
            get { return weapon_min_range; }
            set { weapon_min_range = value; }
        }

        public int Weapon_Short_Range
        {
            get { return weapon_short_range; }
            set { weapon_short_range = value; }
        }

        public int Weapon_Medium_Range
        {
            get { return weapon_med_range; }
            set { weapon_med_range = value; }
        }

        public int Weapon_Long_Range
        {
            get { return weapon_long_range; }
            set { weapon_long_range = value; }
        }

        public int Weapon_Damage
        {
            get { return weapon_damage; }
            set { weapon_damage = value; }
        }

        public int Weapon_Type
        {
            get { return weapon_type; }
            set { weapon_type = value; }
        }

        public int Weapon_Cost
        {
            get { return weapon_cost; }
            set { weapon_cost = value; }
        }

        public int Weapon_Ammo_Type
        {
            get { return weapon_ammo_type; }
            set { weapon_ammo_type = value; }
        }

        public int Weapon_Ammo_Max
        {
            get { return weapon_ammo_max; }
            set { weapon_ammo_max = value; }
        }

        public float Weapon_Weight
        {
            get {return weapon_weight;}
            set {weapon_weight = value;}
        }

        public Weapon(string wname, float wheat, int wdamage, int w_min_range, int w_short_range, int w_med_range, int w_long_range, float wweight, int wtype, int wcost, int wammo_type, int wammo_max)
        {
            wname = weapon_name;
            wheat = weapon_heat;
            wdamage = weapon_damage;
            w_min_range = weapon_min_range;
            w_short_range = weapon_short_range;
            w_med_range = weapon_med_range;
            w_long_range = weapon_long_range;
            wweight = weapon_weight;
            wtype = weapon_type;
            wcost = weapon_cost;
            wammo_type = weapon_ammo_type;
            wammo_max = weapon_ammo_max;
        }

        public bool IsEmpty(int ammo)
        {
            if (ammo == 0)
                return true;
            else
                return false;
        }

        public bool GetIsDestroyed()
        {
            return IsDestroyed;
        }

    }
    
}
